Presently there are a number of methods utilized in authenticating a user requesting online resources. These methods range from those requiring relatively little security to those requiring additional layers of security.
One authentication method requiring relatively little security is represented by a challenge-response utilized for authenticating a user's presence. In challenge-response scenarios a user is presented with a challenge that is easy for a computer to generate but difficult for a computer to solve. One example of this is the commonly used CAPTCHA screen where a distorted image of a word or phrase is presented to a user as a challenge and the user is able to decipher the distorted image and respond, thereby verifying the user's presence. An issue with a challenge-response authentication, such as CAPTCHA, is that it is vulnerable to malware attacks.
An authentication method requiring additional layers of security is represented by multi-factor authentication. In multi-factor authentication a user is commonly authenticated utilizing both what the user knows, i.e. username and password, in addition to what the user has, i.e. an RSA secure ID fob. However, these authentication methods are capable of being compromised by man in the middle attacks (MITM). This method of authentication also suffers from the fact that the same algorithm residing on the RSA secure ID fob must also reside on an authentication server and both algorithms must act upon the same seed value to properly authenticate the user. This creates unnecessary redundancy and inefficiency. If this algorithm is compromised at either end then the algorithm on both devices must be changed.